package com.example.extra.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

@Accessors(chain = true)
@Data
@Schema(description = "文件VO")
public class FileVo {

    /**
     * 主键
     */
    @Schema(description = "主键")
    private String fileId;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    /**
     * 创建用户ID
     */
    @Schema(description = "创建用户ID")
    private String createUserId;

    /**
     * 文件大小（字节）
     */
    @Schema(description = "文件大小（字节）")
    private Long fileSize;

    /**
     * 文件状态（0：正常，1：删除）
     */
    @Schema(description = "文件状态（0：正常，1：删除）")
    private Integer fileStatus;

    /**
     * 文件URL
     */
    @Schema(description = "文件URL")
    private String fileUrl;

    /**
     * 摘要
     */
    @Schema(description = "摘要")
    private String digest;

    /**
     * 标识符
     */
    @Schema(description = "标识符")
    private String identifier;

    /**
     * 修改时间
     */
    @Schema(description = "修改时间")
    private LocalDateTime modifyTime;

    /**
     * 修改用户ID
     */
    @Schema(description = "修改用户ID")
    private String modifyUserId;

    /**
     * 存储类型
     */
    @Schema(description = "存储类型")
    private Integer storageType;

    /**
     * PDF URL
     */
    @Schema(description = "PDF URL")
    private String pdfUrl;

    /**
     * 缩略图URL
     */
    @Schema(description = "缩略图URL")
    private String thumbnailUrl;

    /**
     * 句柄
     */
    @Schema(description = "句柄")
    private Long handle;

    /**
     * 中科位置ID
     */
    @Schema(description = "中科位置ID")
    private String zkWzId;

    /**
     * MinIO存储桶
     */
    @Schema(description = "MinIO存储桶")
    private String minioBucketZk;
}
